2346e74e9f39822590e09b80a455906790b19f6b,beam-meris-sdr/src/main/java/org/esa/beam/meris/cloud/CloudTopPressureOp.java,CloudTopPressureOp,computeTile,#Band#Tile#ProgressMonitor#,210

Before Change


        	Tile detector = getSourceTile(sourceProduct.getBand(EnvisatConstants.MERIS_DETECTOR_INDEX_DS_NAME), rectangle, pm);
        	Tile sza = getSourceTile(sourceProduct.getTiePointGrid(EnvisatConstants.MERIS_SUN_ZENITH_DS_NAME), rectangle, pm);
			Tile saa = getSourceTile(sourceProduct.getTiePointGrid(EnvisatConstants.MERIS_SUN_AZIMUTH_DS_NAME), rectangle, pm);
			Tile vza = getSourceTile(sourceProduct.getTiePointGrid(EnvisatConstants.MERIS_VIEW_ZENITH_DS_NAME), rectangle, pm);
			Tile vaa = getSourceTile(sourceProduct.getTiePointGrid(EnvisatConstants.MERIS_VIEW_AZIMUTH_DS_NAME), rectangle, pm);
			
			Tile lat = getSourceTile(sourceProduct.getTiePointGrid(EnvisatConstants.MERIS_LAT_DS_NAME), rectangle, pm);

After Change


        try {
        	Tile detector = getSourceTile(sourceProduct.getBand(EnvisatConstants.MERIS_DETECTOR_INDEX_DS_NAME), rectangle, pm);

        	Tile sza = null;
			Tile saa = null;
			Tile vza = null;
			Tile vaa = null;
			
			Tile lat = null;
			Tile lon = null;
			
			Tile toar10 = getSourceTile(sourceProduct.getBand("radiance_10"), rectangle, pm);
			Tile toar11 = getSourceTile(sourceProduct.getBand("radiance_11"), rectangle, pm);
			
			Tile isInvalid = getSourceTile(invalidBand, rectangle, pm);
			
			Tile l1bFlags = getSourceTile(sourceProduct.getBand(EnvisatConstants.MERIS_L1B_FLAGS_DS_NAME), rectangle, pm);

			final double[] nnInWater = new double[6];
			final double[] nnInLand = new double[7];
            final double[] nnOut = new double[1];

            JnnNet nnLand = null;
            JnnNet nnWater = null;

            for (int y = rectangle.y; y < rectangle.y + rectangle.height; y++) {
				for (int x = rectangle.x; x < rectangle.x + rectangle.width; x++) {
					if (pm.isCanceled()) {
						break;
					}
					if (isInvalid.getSampleBoolean(x, y)) {
						targetTile.setSample(x, y, 0);
					} else {
                        if(sza == null || saa == null || vza == null || vaa == null) {
                            sza = getSourceTile(sourceProduct.getTiePointGrid(EnvisatConstants.MERIS_SUN_ZENITH_DS_NAME), rectangle, pm);
                            saa = getSourceTile(sourceProduct.getTiePointGrid(EnvisatConstants.MERIS_SUN_AZIMUTH_DS_NAME), rectangle, pm);
                            vza = getSourceTile(sourceProduct.getTiePointGrid(EnvisatConstants.MERIS_VIEW_ZENITH_DS_NAME), rectangle, pm);
                            vaa = getSourceTile(sourceProduct.getTiePointGrid(EnvisatConstants.MERIS_VIEW_AZIMUTH_DS_NAME), rectangle, pm);
                        }